International Business Machine Corporation (IBM) mainframes provide online transaction processing subsystems, such as Information Management System (IMS®), DB2®, and Customer Information Control System (CICS®) (IMS, DB2 and CICS are registered trademarks of IBM), that enable high-speed transaction processing of data. Each processing subsystem has file structures unique to its environment. For example, DB2 transactions access data stored in DB2 databases, IMS transactions access data stored in IMS databases, and CICS transactions access data stored in VSAM data sets. For various reasons, applications and transactions running outside of the subsystems could not originally access the data stored within the subsystem.
To allow outside access to subsystems, IBM first introduced an interface allowing CICS and IMS transactions to have high-speed access to DB2 databases on the same system or logical partition (LPAR). This interface includes documented application program interfaces (APIs) also known as DSNCLI and DSNHLI2. DSNCLI opens and closes DB2 database connections and DSNHLI2 handles SQL requests after connection. Such documented APIs require subsystems to connect to a DB2 system running on the same system or logical partition (LPAR) as the subsystem. Each LPAR is, in practice, equivalent to a separate mainframe. Thus, for an instance of, for example, CICS using the documented APIs to have access to a DB2 database, DB2 must be running on the same system as the instance of CICS. This results in multiple installations of DB2 systems at a customer site, for example on multiple LPARs within a sysplex. The costs that result from the multiple installations can be prohibitive. While IBM has introduced other interfaces that allow programs to have access to remote DB2 databases, such interfaces require a change to the business application source code. Many legacy business application programs still use the APIs for connecting to local DB2 databases.